# RUN: sed -e s/ENTRYNAME/_main/ %s | yaml2obj > %t.obj
# RUN: lld-link -safeseh:no /out:%t.exe %t.obj
# RUN: llvm-readobj --file-headers %t.exe | FileCheck -check-prefix=MAIN %s

# RUN: sed s/ENTRYNAME/_wmain/ %s | yaml2obj > %t.obj
# RUN: lld-link -safeseh:no /out:%t.exe %t.obj
# RUN: llvm-readobj --file-headers %t.exe | FileCheck -check-prefix=WMAIN %s

# RUN: sed s/ENTRYNAME/_WinMain@16/ %s | yaml2obj > %t.obj
# RUN: lld-link -safeseh:no /out:%t.exe %t.obj
# RUN: llvm-readobj --file-headers %t.exe | FileCheck -check-prefix=WINMAIN %s

# RUN: sed s/ENTRYNAME/_wWinMain@16/ %s | yaml2obj > %t.obj
# RUN: lld-link -safeseh:no /out:%t.exe %t.obj
# RUN: llvm-readobj --file-headers %t.exe | FileCheck -check-prefix=WWINMAIN %s

# MAIN:     Subsystem: IMAGE_SUBSYSTEM_WINDOWS_CUI
# WMAIN:    Subsystem: IMAGE_SUBSYSTEM_WINDOWS_CUI
# WINMAIN:  Subsystem: IMAGE_SUBSYSTEM_WINDOWS_GUI
# WWINMAIN: Subsystem: IMAGE_SUBSYSTEM_WINDOWS_GUI

--- !COFF
header:
  Machine:         IMAGE_FILE_MACHINE_I386
  Characteristics: []
sections:
  - Name:            .text
    Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ]
    Alignment:       4
    SectionData:     B82A000000C3
symbols:
  - Name:            .text
    Value:           0
    SectionNumber:   1
    SimpleType:      IMAGE_SYM_TYPE_NULL
    ComplexType:     IMAGE_SYM_DTYPE_NULL
    StorageClass:    IMAGE_SYM_CLASS_STATIC
    SectionDefinition:
      Length:          6
      NumberOfRelocations: 0
      NumberOfLinenumbers: 0
      CheckSum:        0
      Number:          0
  - Name:            ENTRYNAME
    Value:           0
    SectionNumber:   1
    SimpleType:      IMAGE_SYM_TYPE_NULL
    ComplexType:     IMAGE_SYM_DTYPE_NULL
    StorageClass:    IMAGE_SYM_CLASS_EXTERNAL
  - Name:            _mainCRTStartup
    Value:           0
    SectionNumber:   1
    SimpleType:      IMAGE_SYM_TYPE_NULL
    ComplexType:     IMAGE_SYM_DTYPE_NULL
    StorageClass:    IMAGE_SYM_CLASS_EXTERNAL
  - Name:            _wmainCRTStartup
    Value:           0
    SectionNumber:   1
    SimpleType:      IMAGE_SYM_TYPE_NULL
    ComplexType:     IMAGE_SYM_DTYPE_NULL
    StorageClass:    IMAGE_SYM_CLASS_EXTERNAL
  - Name:            _WinMainCRTStartup
    Value:           0
    SectionNumber:   1
    SimpleType:      IMAGE_SYM_TYPE_NULL
    ComplexType:     IMAGE_SYM_DTYPE_NULL
    StorageClass:    IMAGE_SYM_CLASS_EXTERNAL
  - Name:            _wWinMainCRTStartup
    Value:           0
    SectionNumber:   1
    SimpleType:      IMAGE_SYM_TYPE_NULL
    ComplexType:     IMAGE_SYM_DTYPE_NULL
    StorageClass:    IMAGE_SYM_CLASS_EXTERNAL
...
